![]() ![]() |
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 4 Dołączył: 9.06.2007 Skąd: Kielce Ostrzeżenie: (0%)
|
przyłączam się do prośby jakiś artykuł ktoś może podać?
|
|
|
|
Post
#22
|
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%)
|
Pisałem o tym kiedyś dość obszeny materiał:
http://athlan.pl/obrona-przed-spamem/ Sblam odradzam, jest fantastyczny, ale czasem dodanie komentarza zamula kilkadzisiąt sekund, kilka razmy mialem nawet timeouta. Dobry przykład (czyli o robieniu botów w bambuko (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ): http://athlan.pl/code/html-antispam |
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 9 Dołączył: 12.03.2007 Skąd: kraków/tarnobrzeg/baranów/suchorzów Ostrzeżenie: (0%)
|
Jedyne w Twoim zabezpieczeniu nie podoba mi się to że używać javascript. Mimo wszystko nie wszyscy muszą mieć włączoną obsługę javascript.
Osobiście używam innego zabezpieczenia. Dodaje dodatkowe pole ukryte które dla żartu nazwałem "temida". To pole zawiera zaszyfrowaną datę oraz godzinę wygenerowania formularza co do sekund. Nikt tego nie odczyta gdyż klucz znajduje się na serwerze i tylko skrypty mają do niego dostęp. Skrypt odbierający dane z tego formularza sprawdza jaki jest czas kiedy nastąpiło kliknięcie na dodanie komentarza. Jeśli to było szybkie dodanie, czas od wygenerowania do kliknięcia dodania jest mniejszy niż 10 sekund, komentarza jest odrzucany. Jeśli od wygenerowania formularza minęła godzina to komentarz również jest odrzucany. Wbrew swojej prostocie to zabezpieczenie sprawdza się bardzo dobrze. Większość robotów zaraz po pobraniu strony próbuje dodać swój wpis bądź pobiera stronę i na podstawie tej zapisanej strony nawet po dwóch miesiącach od wygenerowania próbuje dodać jakieś wpisy. Dodałem jeszcze regułę odrzucającą komentarz ze słowem viagra i nic praktycznie nie przeszło do tej pory (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#24
|
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%)
|
Ja ostatnio wymyśliłem (no, ba. Widziałem też to w innych miejscach (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) taki prosty sposób: podanie w formie tekstu różnych prostych matematycznych zadań, np:
dwa plus cztery sześć razy dwa itd. |
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%)
|
@szagi3891 Podoba mi się Twój spób ale co jeśli ktoś napisze bota tak aby wysyłał komentarz po 20 sekundach (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Cytat ale co jeśli ktoś napisze bota tak aby wysyłał komentarz po 20 sekundach - taki bot byłby całkiem nieopłacalny, poza tym z reguły boty wysyłają same nagłówki, więc nie są w stanie wygenerować prawidłowego tokena (czyli czasu) - a nawet jeśli wypełnią token, to podają liczby lub jakieś losowe dane - łatwo się przed tym zabezpieczyć, odrzucając formularze starsze niż np. 15 minut. Poza tym to tylko jeden rodzaj zabezpieczeń, warto połączyć kilka, tak jak ja to zrobiłem kilka postów wyżej - razem to prawie 100% skuteczności.Cytat Sblam odradzam, jest fantastyczny, ale czasem dodanie komentarza zamula kilkadzisiąt sekund - dlatego ja zalecam, aby był, ale jako opcja - czyli w ostateczności (kiedy pasywne blokady sobie nie radzą) SBLAM ON. Pasywne blokady mogą sobie ni radzić tylko wtedy, kiedy ktoś napisze bota dedykowanego specjalnie pod nasz skrypt.Próbowałem i temu zaradzić, generując losowo inputy i ich name'y, plus opisy jako imgi (też oczywiście dynamicznie tworzone i o losowej nazwie), jednak kilka osób stwierdziło, że zmieniająca się kolejność inputów doprowadzi userów do szału. W każdym bądź razie pomysł jakiś jest, może ktoś to rozwinie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#27
|
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 9 Dołączył: 12.03.2007 Skąd: kraków/tarnobrzeg/baranów/suchorzów Ostrzeżenie: (0%)
|
@Black-Berry - nie twierdzę że jest to zabezpieczenie które definitywnie upora się ze spamem. Przedstawiam tą metodę tylko jako przykład że można ją wstępnie zastosować do pierwszego przefiltrowania wiadomości.
Greylisting pocztowy działa w podobny sposób. Poczta najpierw jest odrzucana przez serwer i dopiero przy następnej próbie dostarczenia jest przyjmowana przez serwer odbiorcy. |
|
|
|
Post
#28
|
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%)
|
Widzę, że Waszym motto nie jest na pewno: "Prostota jest piękna".
Ja bym zastosował sposób z dodawaniem liczb (plus ewentualna lokalizacja na inne języki w aplikacjach wielojęzycznych, ponieważ wyrażenie matematyczne ładnie opisać słowami) + zmiana action za pomocą Javascript. Co do % osób nie używających JS, z tego co się orientuję jest ich 1,2%, z czego 90% to boty, co daje 0,12% użytkowników Internetu. *poprawione z 0.03 na 0.12%, pomylilem sie. |
|
|
|
Post
#29
|
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
Rozwiązanie Athlana oraz zakomentowaniem inputa z pustymi wartosciami wydaje mi się idealne. Ja bym się nie przejmował już ludźmi bez JS, bo jak komuś będzie zależało na poprawnym działaniu strony, to sobie to włączy (mówimy o 0,03% użytkowników z wyłączoną obsługą JS).
|
|
|
|
Post
#30
|
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 9 Dołączył: 12.03.2007 Skąd: kraków/tarnobrzeg/baranów/suchorzów Ostrzeżenie: (0%)
|
@Athlan - coś mi się nie podoba Twoja matematyka (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)
Przy założeniu że 90% z klientów bez włączonego js to roboty. -> wynika z tego że 10 % to ludzie którzy mają wyłączoną javę script. Jeśli zakładasz że 1,2% to procent wszystkich klientów bez js to całkowita liczba "ludzi właściwych" nie posiadających włączonej javyscript wynosi 1,2% * 10% = 0,12% a nie jak piszesz wyżej 0,03% (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) Odnośnie prostoty. To jest prostota dla Ciebie czy dla Twoich użytkowników ? Moim zdaniem bardziej nieprofesjonalnie wygląda strona na której oprócz pól do dodania nowego postu/komentarza/czegokolwiek znajduje się jeszcze dodatkowe pytanie z polem gdzie pisze "podaj wynik równania 2 + 2" lub wprowadź kod z obrazka (który jest często podobny do któregoś ze znakomitych dzieł picassa). Wybacz ale to wygląda jak by się webmasterowi zupełnie nic nie chciało i zrobił prostą łatę która ograniczy problem ze spamem. Jest to przerzucanie wykonywania dodatkowych czynności na użytkownika. Powinno dążyć się w przeciwnym kierunku, użytkownik powinien się martwić niczym innym oprócz wprowadzenia właściwej treści a to czy strona pada ofiarą botów czy nie to użytkownika tak naprawdę nie obchodzi. |
|
|
|
Post
#31
|
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%)
|
Wydaję mi się, że wiele zrobiłem, jednak dalej ten spam się przedostaje;/ Jeszcze jedno pytanie: to zależy też od serwera?
Co do tego kodu:
To rozumiem, że action zostawiam dosłownie: 'http://example.com/'? I nie bardzo rozumiem, jak ten formularz ma być wysyłany? Jeśli umieszczę skrypt js w tym samym pliku to funkcja się wykona po kliknięciu dodaj komentarz? dzięki wszystkim za odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował KCG 26.05.2008, 15:04:08 |
|
|
|
Post
#32
|
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%)
|
Raczej skorzystałbym z .setAttribute - choć na JS'ie się słabo znam, może tak też działa.
Po za tym ja bym nie bawił się JS'em w tych celach. szagi3891 - może nieprofesjonalnie na stronie firmowej tak (choć znam ludzi, którzy nawet tam dają rzeczy typu 4+6=?), ale na stronie domowej czemu nie? Ten post edytował radex_p 26.05.2008, 18:02:16 |
|
|
|
Post
#33
|
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%)
|
Też bym js nie dawał, ale ten spam jakoś sie nie poddaje.
|
|
|
|
Post
#34
|
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%)
|
Może moderacja komentarzy po IP? Pierwszy raz trzeba sprawdzić, jeśli będzie ok, będzie dalej przyjmowało bez pytania.
JS mnie jakoś nie przekonuje. |
|
|
|
Post
#35
|
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%)
|
Przez zmienna $_SERVER['REMOTED_ADDR']? I co masz na myśli pisząc 'moderacja'? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
|
Post
#36
|
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%)
|
Mówiąc 'moderacja' miałem na myśli sprawdzenie pierwszego wysłanego komentarza/czegośtam innego z danego IP. Jeśli post będzie ok - zostanie zaakceptowany, kolejne posty będą przychodzić bez sprawdzania przez moderatora.
Oczywiście nie jest to odporne na zmienne ip, ale wraz z sblam wychodzi nieźle. |
|
|
|
Post
#37
|
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%)
|
Tak, tylko pole ip przy wpisach od botów w bazie mam puste...
|
|
|
|
Post
#38
|
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#39
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
a if'a można do tego napisać a tablicą array(); botów?
|
|
|
|
Post
#40
|
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%)
|
Pobrieram ip tą funkcją i dalej nie zapisuje.
Zrobiłem nawet ten myk z js i już mi się jakiś spam wje... :/ Powtórzę pytanie: czy to może zależeć też od serwera? |
|
|
|
![]() ![]() |
|
Aktualny czas: 11.01.2026 - 03:40 |